package com.snaildesign.countdown.model;

import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;


/** 
 *        @hibernate.class
 *         table="USER_TAG"
 *     
*/
public class UserTag implements Serializable {

    /** identifier field */
    private String userId;

    /** identifier field */
    private String tagId;

    /** nullable persistent field */
    private String remarks;

    /** nullable persistent field */
    private com.snaildesign.countdown.model.TagLib tagLib;

    /** nullable persistent field */
    private com.snaildesign.countdown.model.UserInfo userInfo;

    /** full constructor */
    public UserTag(String userId, String tagId, String remarks, com.snaildesign.countdown.model.TagLib tagLib, com.snaildesign.countdown.model.UserInfo userInfo) {
        this.userId = userId;
        this.tagId = tagId;
        this.remarks = remarks;
        this.tagLib = tagLib;
        this.userInfo = userInfo;
    }

    /** default constructor */
    public UserTag() {
    }

    /** minimal constructor */
    public UserTag(String userId, String tagId) {
        this.userId = userId;
        this.tagId = tagId;
    }

    /** 
     *                @hibernate.property
     *                 column="USER_ID"
     *             
     */
    public String getUserId() {
        return this.userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    /** 
     *                @hibernate.property
     *                 column="TAG_ID"
     *             
     */
    public String getTagId() {
        return this.tagId;
    }

    public void setTagId(String tagId) {
        this.tagId = tagId;
    }

    /** 
     *            @hibernate.property
     *             column="REMARKS"
     *             length="100"
     *         
     */
    public String getRemarks() {
        return this.remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    /** 
     *            @hibernate.many-to-one
     *             update="false"
     *             insert="false"
     *         
     *            @hibernate.column
     *             name="TAG_ID"
     *         
     */
    public com.snaildesign.countdown.model.TagLib getTagLib() {
        return this.tagLib;
    }

    public void setTagLib(com.snaildesign.countdown.model.TagLib tagLib) {
        this.tagLib = tagLib;
    }

    /** 
     *            @hibernate.many-to-one
     *             update="false"
     *             insert="false"
     *         
     *            @hibernate.column
     *             name="USER_ID"
     *         
     */
    public com.snaildesign.countdown.model.UserInfo getUserInfo() {
        return this.userInfo;
    }

    public void setUserInfo(com.snaildesign.countdown.model.UserInfo userInfo) {
        this.userInfo = userInfo;
    }

    public String toString() {
        return new ToStringBuilder(this)
            .append("userId", getUserId())
            .append("tagId", getTagId())
            .toString();
    }

}
